Release 10.1A: OpenEdge Development:
Progress Dynamics Advanced Development
Overview of the managers
Just what is a manager, and what makes it special? The framework has many supporting procedures that contribute to your application’s behavior, but only a few of these are called managers. The Progress Dynamics managers have all of the following key elements in common:
- Managers have both a client-side and a server-side component, which communicate with each other when necessary. This allows all database access to be restricted to the server-side procedure when the application is run in a distributed environment, and to the client-side to provide data and services within its session, to minimize overhead and network traffic caused by AppServer calls.
- Managers are designed to use a stateless AppServer connection, so that a client request can be handled by an already running manager procedure in any server-side session, without binding that session to the client.
- Managers store needed context info in the Repository, so that a series of requests from a given client session can be handled coherently, even if by many different server sessions.
- Managers get data from different parts of the Progress Dynamics Repository, and they present that data to the application when it is needed. Generally, this means that among other things, data is cached in temp-tables on both sides of the AppServer connection, and kept in sync by the manager. In this way the client can access Repository data during the execution of the application without always going back to the server to get it.
- Managers have a standard design structure, which supports running efficiently between client and server. This structure is summarized below so that you can locate manager code you might need to look at or specialize. For additional information on manager design techniques, see Chapter 7, " Creating a New Manager in Progress Dynamics."
- Managers have an API of useful procedures and functions. Many of these procedures and functions are used internally by the manager itself or called from other managers, but some of them can also be called from application code. These calls are the focus of this chapter.
- Manager handles are available globally, making it easy to run any procedure in a manager.
- Managers are generally prestarted on the AppServer and on the client by the Session Manager. The configuration file section of the session management keeps information on all the managers, including which ones are needed by each Progress Dynamics session type. You can learn more about session types, registering managers, and how to associate managers with different sessions in OpenEdge Development: Progress Dynamics Administration , OpenEdge Getting Started: Installation and Configuration , and OpenEdge Development: Progress Dynamics Getting Started .
- Managers function independently of the ADM, SmartObjects, the Progress Dynamics User Interface, and other specifics of the framework. They can be used from a variety of existing application code, to provide security and session management, as well as from new Progress Dynamics-specific application modules. This can help to integrate new Progress Dynamics development work into existing applications.
Figure 6–1 provides an overview of the manager architecture.
Figure 6–1: Progress Dynamics manager architecture
![]()
The framework supports a Web browser-based user interface for an application. Part of this support involves generating a dynamic HTML-based UI for the browser by accessing the description of the UI through the Repository Manager. This is the same UI definition used to generate the Windows-based GUI. The Web support uses a User Interface Manager. In addition, a new Request Manager provides browser-based applications with access to the same manager functions available to 4GL-based applications. The managers available in Progress Dynamics include:
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |